home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 / Aminet - June 1993 [Walnut Creek].iso / usenet / sources / volume90 / aplictns / plplot26 / part12 < prev   
Encoding:
Text File  |  1990-01-14  |  45.6 KB  |  1,154 lines

  1. Path: xanth!cs.odu.edu!Amiga-Request
  2. From: Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator)
  3. Newsgroups: comp.sources.amiga
  4. Subject: v90i013: plplot 2.6 - C library for making scientific plots, Part12/12
  5. Message-ID: <10985@xanth.cs.odu.edu>
  6. Date: 14 Jan 90 23:38:35 GMT
  7. Sender: tadguy@cs.odu.edu
  8. Reply-To: Anthony M. Richardson <amr@dukee.egr.duke.edu>
  9. Lines: 1142
  10. Approved: tadguy@cs.odu.edu (Tad Guy)
  11.  
  12. Submitted-by: Anthony M. Richardson <amr@dukee.egr.duke.edu>
  13. Posting-number: Volume 90, Issue 013
  14. Archive-name: applications/plplot-2.6/part12
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then unpack
  18. # it by saving it into a file and typing "sh file".  To overwrite existing
  19. # files, type "sh file -c".  You can also feed this as standard input via
  20. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  21. # will see the following message at the end:
  22. #        "End of archive 12 (of 12)."
  23. # Contents:  docs/chapter4.tex
  24. # Wrapped by tadguy@xanth on Sun Jan 14 18:12:00 1990
  25. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  26. if test -f 'docs/chapter4.tex' -a "${1}" != "-c" ; then 
  27.   echo shar: Will not clobber existing file \"'docs/chapter4.tex'\"
  28. else
  29. echo shar: Extracting \"'docs/chapter4.tex'\" \(43245 characters\)
  30. sed "s/^X//" >'docs/chapter4.tex' <<'END_OF_FILE'
  31. X\chapter {PLPLOT Subroutine Reference} \label{reference}
  32. X
  33. XAll the PLPLOT subroutines are listed below in alphabetical
  34. Xorder.
  35. X
  36. X\bname{pladv(sub)}\label{pladv}
  37. X\addcontentsline{toc}{subsection}{pladv}
  38. X
  39. X\descr{Advances to the next subpage if {\tt sub=0} or to the specified
  40. Xsubpage
  41. Xif {\tt sub} is non-zero. This routine is called automatically (with
  42. X{\tt sub=0})
  43. Xby {\tt plenv}, but if {\tt plenv} is not used, {\tt pladv}
  44. X must be called after {\tt plstar}
  45. Xbut before defining the viewport.}
  46. X
  47. X\argu {{\tt sub} (PLINT, input)}{Specifies the subpage number (starting from
  48. X1 in the top left corner and increasing along the rows) to which to advance.
  49. XSet to zero to advance to the next subpage.}
  50. X
  51. X
  52. X
  53. X\bname{plbeg(dev,nx,ny)}\label{plbeg}
  54. X\addcontentsline{toc}{subsection}{plbeg}
  55. X
  56. X\descr{Alternative to {\tt plstar} for initializing the plotting package. The
  57. X        device number of the desired output device must be supplied as
  58. X        an argument. The mapping from device numbers to devices varies
  59. X        from one implementation to another, and so use of {\tt plstar} which
  60. X        prompts for the device type is recommended. The device codes are
  61. X        the same as those printed out by {\tt plstar}. This routine also divides
  62. X        the output device into {\tt nx} by {\tt ny} sub-pages, each of which may
  63. X        be used independently. The subroutine {\tt pladv} is used to advance
  64. X        from one subpage to the next.}
  65. X
  66. X\argu {{\tt dev} (PLINT, input)}{Device number of the required output device.}
  67. X
  68. X\argu {{\tt nx} (PLINT, input)}{Number of subpages to divide output page in
  69. X      the horizontal direction.}
  70. X
  71. X\argu {{\tt ny} (PLINT, input)}{Number of subpages to divide output page in
  72. X      the vertical direction.}
  73. X
  74. X
  75. X
  76. X\bname{plbin(nbin,x,y,cen)}\label{plbin}
  77. X\addcontentsline{toc}{subsection}{plbin}
  78. X
  79. X\descr{Plots a histogram consisting of {\tt n} bins. The value associated
  80. X       with the {\tt i}'th bin is placed in {\tt x[i]}, and the number of
  81. X       points in the bin is placed in {\tt y[i]}. For proper operation,
  82. X       the values in {\tt x[i]} must form a strictly increasing sequence.
  83. X       If {\tt centre} is false, {\tt x[i]} is the left-hand edge of the
  84. X       {\tt i'th} bin, and if {\tt centre} is true, the bin boundaries
  85. X       are placed midway between the values in the {\tt x}~array. Also
  86. X       see {\tt plhist} for drawing histograms from unbinned data.}
  87. X
  88. X\argu {{\tt nbin} (PLINT, input)}{Number of bins (i.e., number of values in $x$
  89. Xand $y$ arrays.)}
  90. X
  91. X\argu {{\tt x} (PLFLT *, input)}{Pointer to array containing
  92. Xvalues associated with bins. These must form
  93. Xa strictly increasing sequence.}
  94. X
  95. X\argu {{\tt y} (PLFLT *, input)}{Pointer to array containing
  96. Xnumber of points in bin. This is a
  97. XPLFLT (instead of PLINT)
  98. Xarray so as to allow histograms of probabilities, etc.}
  99. X
  100. X\argu {{\tt cen} (PLINT, input)}{Indicates whether the values in {\tt x}
  101. Xrepresent the lower bin boundaries ({\tt cen=0}) or whether
  102. Xthe bin boundaries are to be midway between the {\tt x} values ({\tt cen=1}).
  103. XIf the values in {\tt x} are equally spaced and {\tt cen=1},
  104. Xthe values in {\tt x}
  105. Xare the centre values of the bins.}
  106. X
  107. X
  108. X
  109. X\bname{plbox(xopt,xtick,nxsub,yopt,ytick,nysub)}\label{plbox}
  110. X\addcontentsline{toc}{subsection}{plbox}
  111. X
  112. X\descr{Draws a box around the currently defined viewport, and labels it
  113. X       with world coordinate values appropriate to the window. Thus
  114. X       {\tt plbox} should only be called after defining both viewport and
  115. X       window. The character strings {\tt xopt} and {\tt yopt} specify how the
  116. X       box should be drawn as described below. If ticks and/or subticks
  117. X       are to be drawn for a particular axis, the tick intervals and number
  118. X       of subintervals may be specified explicitly, or they may be
  119. X       defaulted by setting the appropriate arguments to zero.}
  120. X
  121. X\argu {{\tt xopt} (char *, input)}{Pointer to
  122. Xcharacter string specifying options for
  123. Xhorizontal axis. The string can include any combination of the following
  124. Xletters (upper or lower case) in any order:
  125. X\begin{itemize}
  126. X\item{{\tt a :}} Draws axis, X-axis is horizontal line {\tt y=0}, and Y-axis is
  127. Xvertical line {\tt x=0}.
  128. X\item{{\tt b :}} Draws bottom (X) or left (Y) edge of frame.
  129. X\item{{\tt c :}} Draws top (X) or right (Y) edge of frame.
  130. X\item{{\tt g :}} Draws a grid at the major tick interval.
  131. X\item{{\tt i :}} Inverts tick marks, so they are drawn outwards, rather than
  132. Xinwards.
  133. X\item{{\tt l :}} Labels axis logarithmically. This only affects the labels,
  134. Xnot the data, and so it is necessary to compute the logarithms of data
  135. Xpoints before passing them to any of the drawing routines.
  136. X\item{{\tt m :}} Writes numeric labels at major tick intervals in the
  137. Xunconventional location (above box for X, right of box for Y).
  138. X\item{{\tt n :}} Writes numeric labels at major tick intervals in the
  139. Xconventional location (below box for X, left of box for Y).
  140. X\item{{\tt s :}} Enables subticks between major ticks, only valid if {\tt t} is
  141. Xalso specified.
  142. X\item{{\tt t :}} Draws major ticks.
  143. X\end{itemize}}
  144. X
  145. X\argu {{\tt xtick} (PLFLT, input)}{World coordinate interval between major ticks
  146. Xon the x~axis. If it is set to zero, PLPLOT automatically generates a
  147. Xsuitable tick interval.}
  148. X
  149. X\argu {{\tt nxsub} (PLINT, input)}{Number of subintervals between major x~axis
  150. Xticks for minor ticks. If it is set to zero, PLPLOT automatically generates a
  151. Xsuitable minor tick interval.}
  152. X
  153. X\argu {{\tt yopt} (char *, input)}{Pointer to
  154. Xcharacter string specifying options for
  155. Xvertical axis. The string can include any combination of the letters
  156. Xdefined above for {\tt xopt}, and in addition may contain:
  157. X\begin{itemize}
  158. X\item{{\tt v }}{: Write numeric labels for vertical axis parallel to the
  159. Xbase of the graph, rather than parallel to the axis.}
  160. X\end{itemize}
  161. X}
  162. X
  163. X\argu {{\tt ytick} (real, input)}{World coordinate interval between major ticks
  164. Xon the y~axis. If it is set to zero, PLPLOT automatically generates a
  165. Xsuitable tick interval.}
  166. X
  167. X\argu {{\tt nysub} (PLINT, input)}{Number of subintervals between major y~axis
  168. Xticks for minor ticks. If it is set to zero, PLPLOT automatically generates a
  169. Xsuitable minor tick interval.}
  170. X
  171. X
  172. X
  173. X\bname{ \begin{tabular}{l@{\strut}l}
  174. X        plbox3(&xopt,xlabel,xtick,nxsub,yopt,ylabel,ytick,nysub,\\
  175. X        &zopt,zlabel,ztick,nzsub)
  176. X        \end{tabular}
  177. X      } \label{plbox3}
  178. X\addcontentsline{toc}{subsection}{plbox3}
  179. X
  180. X\descr{Draws axes, numeric and text labels for a three-dimensional surface
  181. X       plot. See Section \ref{threed} on page \pageref{threed} for a
  182. X       more complete description of three-dimensional plotting.}
  183. X
  184. X\argu {{\tt xopt} (char *, input)}{Pointer to
  185. Xcharacter string specifying options for
  186. Xthe x~axis. The string can include any combination of the following
  187. Xletters (upper or lower case) in any order:
  188. X\begin{itemize}
  189. X\item{{\tt b :}} Draws axis at base, at height {\tt z=zmin} where {\tt zmin} is defined
  190. Xby call to {\tt plw3d}. This character must be specified in order to use any
  191. Xof the other options.
  192. X\item{{\tt i :}} Inverts tick marks, so they are drawn downwards, rather than
  193. Xupwards.
  194. X\item{{\tt l :}} Labels axis logarithmically. This only affects the labels,
  195. Xnot the data, and so it is necessary to compute the logarithms of data
  196. Xpoints before passing them to any of the drawing routines.
  197. X\item{{\tt n :}} Writes numeric labels at major tick intervals.
  198. X\item{{\tt s :}} Enables subticks between major ticks, only valid if {\tt t} is
  199. Xalso specified.
  200. X\item{{\tt t :}} Draws major ticks.
  201. X\item{{\tt u :}} If this is specified, the text label for the axis is written
  202. Xunder the axis.
  203. X\end{itemize}
  204. X}
  205. X
  206. X\argu {{\tt xlabel} (char *, input)}{Pointer to
  207. Xcharacter string specifying text label
  208. Xfor the x~axis. It is only drawn if {\tt u} is in the {\tt xopt} string.}
  209. X
  210. X\argu {{\tt xtick} (PLFLT, input)}{World coordinate interval between major ticks
  211. Xon the x~axis. If it is set to zero, PLPLOT automatically generates a
  212. Xsuitable tick interval.}
  213. X
  214. X\argu {{\tt nxsub} (PLINT, input)}{Number of subintervals between major x~axis
  215. Xticks for minor ticks. If it is set to zero, PLPLOT automatically generates a
  216. Xsuitable minor tick interval.}
  217. X
  218. X\argu {{\tt yopt} (char *, input)}{Pointer to
  219. Xcharacter string specifying options for
  220. Xthe y~axis. The string is interpreted in the same way as {\tt xopt}.}
  221. X
  222. X\argu {{\tt ylabel} (char *, input)}{Pointer to
  223. Xcharacter string specifying text label
  224. Xfor the y~axis. It is only drawn if {\tt u} is in the {\tt yopt} string.}
  225. X
  226. X\argu {{\tt ytick} (PLFLT, input)}{World coordinate interval between major ticks
  227. Xon the y~axis. If it is set to zero, PLPLOT automatically generates a
  228. Xsuitable tick interval.}
  229. X
  230. X\argu {{\tt nysub} (PLINT, input)}{Number of subintervals between major y~axis
  231. Xticks for minor ticks. If it is set to zero, PLPLOT automatically generates a
  232. Xsuitable minor tick interval.}
  233. X
  234. X\argu {{\tt zopt} (char *, input)}{Pointer to
  235. Xcharacter string specifying options for
  236. Xthe z~axis. The string can include any combination of the following
  237. Xletters (upper or lower case) in any order:
  238. X\begin{itemize}
  239. X\item{{\tt b :}} Draws z~axis to the left of the surface plot.
  240. X\item{{\tt c :}} Draws z~axis to the right of the surface plot.
  241. X\item{{\tt d :}} Draws grid lines parallel to the x-y plane behind the figure.
  242. XThese lines are not drawn until after {\tt plot3d} or {\tt plmesh} are called
  243. Xbecause of the need for hidden line removal.
  244. X\item{{\tt i :}} Inverts tick marks, so they are drawn away from the centre.
  245. X\item{{\tt l :}} Labels axis logarithmically. This only affects the labels,
  246. Xnot the data, and so it is necessary to compute the logarithms of data
  247. Xpoints before passing them to any of the drawing routines.
  248. X\item{{\tt m :}} Writes numeric labels at major tick intervals on the right-hand
  249. Xverical axis.
  250. X\item{{\tt n :}} Writes numeric labels at major tick intervals on the left-hand
  251. Xverical axis.
  252. X\item{{\tt s :}} Enables subticks between major ticks, only valid if {\tt t} is
  253. Xalso specified.
  254. X\item{{\tt t :}} Draws major ticks.
  255. X\item{{\tt u :}} If this is specified, the text label is written beside the
  256. Xleft-hand axis.
  257. X\item{{\tt v :}} If this is specified, the text label is written beside the
  258. Xright-hand axis.
  259. X\end{itemize}
  260. X}
  261. X
  262. X\argu {{\tt zlabel} (char *, input)}{Pointer to
  263. Xcharacter string specifying text label
  264. Xfor the z~axis. It is only drawn if {\tt u} or {\tt v} are in the {\tt zopt} string.}
  265. X
  266. X\argu {{\tt ztick} (PLFLT, input)}{World coordinate interval between major ticks
  267. Xon the z~axis. If it is set to zero, PLPLOT automatically generates a
  268. Xsuitable tick interval.}
  269. X
  270. X\argu {{\tt nzsub} (PLINT, input)}{Number of subintervals between major z~axis
  271. Xticks for minor ticks. If it is set to zero, PLPLOT automatically generates a
  272. Xsuitable minor tick interval.}
  273. X
  274. X
  275. X
  276. X\bname{plclr()}\label{plclr}
  277. X\addcontentsline{toc}{subsection}{plclr}
  278. X
  279. X\descr{Clears the graphics screen of an interactive device, or ejects
  280. X       a page on a plotter.}
  281. X
  282. X\bname{plcol(color)}\label{plcol}
  283. X\addcontentsline{toc}{subsection}{plcol}
  284. X
  285. X\descr{Sets the color for subsequent lines.}
  286. X
  287. X\argu {{\tt color} (PLINT, input)}{Integer representing the color.}
  288. X
  289. X\bname{plcont(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,pltr)}\label{plcont}
  290. X\addcontentsline{toc}{subsection}{plcont}
  291. X
  292. X\descr{Draws a contour plot of the data in {\tt z[nx][ny]}, using the
  293. X        {\tt nlevel} contour levels specified by {\tt clevel}. Only
  294. X        the region of the array from {\tt kx} to {\tt lx} and from {\tt ky}
  295. X        to {\tt ly} is plotted out. A transformation routine {\tt tr} is
  296. X        used to map indicies within the array to the world coordinates
  297. X        (see Section \ref{contour} on page \pageref{contour}).
  298. X        }
  299. X
  300. X\argu {{\tt z} (PLFLT *, input)}
  301. X       {Pointer to a two-dimensional array containing data
  302. X        to be contoured.}
  303. X
  304. X\argu {{\tt nx, ny} (PLINT, input)} {Physical dimensions of array {\tt z}.}
  305. X
  306. X\argu {{\tt kx, lx} (PLINT, input)} {Range of {\tt x} indicies to consider.}
  307. X
  308. X\argu {{\tt ky, ly} (PLINT, input)} {Range of {\tt y} indicies to consider.}
  309. X
  310. X\argu {{\tt clevel} (PLFLT *, input)} {Pointer to array specifying
  311. X            levels at which to draw contours.}
  312. X
  313. X\argu {{\tt nlevel} (PLINT, input)} {Number of contour levels to draw.}
  314. X
  315. X\argu {{\tt pltr} (void *,input)} {Pointer to function that
  316. Xdefines transformation between indicies
  317. Xin array {\tt z} and the world coordinates. The function should have the
  318. Xform
  319. X\name{pltr(x,y,tx,ty)}
  320. X
  321. X\argu {{\tt x, y} (PLFLT, input)}{ Specifies the position in the array through
  322. Xwhich the contour runs in terms of the array indicies.}
  323. X\argu {{\tt tx, ty} (PLFLT *, output)}{Pointers to the
  324. Xworld coordinates corresponding to the
  325. Xpoint {\tt (x,y)}.}
  326. X}
  327. XA transformation function {\tt xform} is provided for simple linear mappings.
  328. XSee Section \ref{contour} for information.
  329. X
  330. X\bname{plend()}\label{plend}
  331. X\addcontentsline{toc}{subsection}{plend}
  332. X
  333. X\descr{Ends a plotting session, tidies up all the output files,
  334. X       switches interactive devices back into text mode and frees up
  335. X       any memory that was allocated. Must be called
  336. X       before end of program.}
  337. X
  338. X
  339. X
  340. X\bname{plenv(xmin,xmax,ymin,ymax,just,axis)}\label{plenv}
  341. X\addcontentsline{toc}{subsection}{plenv}
  342. X
  343. X\descr{Sets up plotter environment for simple graphs by calling {\tt pladv}
  344. Xand setting up viewport and window to sensible default values. {\tt plenv} leaves
  345. Xenough room around most graphs for axis labels and a title. When these
  346. Xdefaults are not suitable, use the individual routines {\tt plvspa} or {\tt plvpor}
  347. Xfor setting up the viewport, {\tt plwind} for defining the window, and {\tt plbox}
  348. Xfor drawing the box.}
  349. X
  350. X\argu {{\tt xmin} (PLFLT, input)}{Value of~x at left-hand edge of window.}
  351. X
  352. X\argu {{\tt xmax} (PLFLT, input)}{Value of~x at right-hand edge of window.}
  353. X
  354. X\argu {{\tt ymin} (PLFLT, input)}{Value of~y at bottom edge of window.}
  355. X
  356. X\argu {{\tt ymax} (PLFLT, input)}{Value of~y at top edge of window.}
  357. X
  358. X\argu {{\tt just} (PLINT, input)}{If {\tt just=0}, the x~and~y axes are scaled
  359. Xindependently to use as much of the screen as possible, but if {\tt just=1}, the
  360. Xscales of the x~and~y axes are made equal.}
  361. X
  362. X\argu {{\tt axis} (PLINT, input)}{Controls drawing of the box around the plot:
  363. X\begin{itemize}
  364. X\item{-2}: No box or annotation.
  365. X\item{-1}: Draw box only.
  366. X\item{0}: Draw box, labelled with coordinate values around edge.
  367. X\item{1}: In addition to box and labels, draw the two axes
  368. X{\tt x=0} and {\tt y=0}.
  369. X\item{2}: As for {\tt axis=1}, but also draw a grid at the major tick interval.
  370. X\item{10}: Logarithmic x axis, linear y axis.
  371. X\item{11}: Logarithmic x axis, linear y axis and draw line {\tt y=0}.
  372. X\item{20}: Linear x axis, logarithmic y axis.
  373. X\item{21}: Linear x axis, logarithmic y axis and draw line {\tt x=0}.
  374. X\item{30}: Logarithmic x and y axes.
  375. X\end{itemize}
  376. X}
  377. X
  378. X
  379. X
  380. X\bname{plerrx(n,xmin,xmax,y)}\label{plerrx}
  381. X\addcontentsline{toc}{subsection}{plerrx}
  382. X
  383. X\descr{Draws a set of {\tt n} horizontal error bars, the {\tt i}'th error bar
  384. Xextending from {\tt xmin[i]} to {\tt xmax[i]} at y~coordinate {\tt y[i]}. The terminals
  385. Xof the error bar are of length equal to the minor tick length (settable
  386. Xusing {\tt plsmin}).}
  387. X
  388. X\argu {{\tt n} (PLINT, input)}{Number of error bars to draw.}
  389. X
  390. X\argu {{\tt xmin} (PLFLT *, input)}{Pointer to array with
  391. Xx~coordinates of left-hand endpoint of error bars.}
  392. X
  393. X\argu {{\tt xmax} (PLFLT *, input)}{Pointer to array with
  394. Xx~coordinates of right-hand endpoint of error bars.}
  395. X
  396. X\argu {{\tt y} (PLFLT *, input)}{Pointer to array with
  397. Xy~coordinates of error bar.}
  398. X
  399. X
  400. X
  401. X\bname{plerry(n,x,ymin,ymax)}\label{plerry}
  402. X\addcontentsline{toc}{subsection}{plerry}
  403. X
  404. X\descr{Draws a set of {\tt n} vertical error bars, the {\tt i}'th error bar
  405. Xextending from {\tt ymin[i]} to {\tt ymax[i]} at x~coordinate {\tt x[i]}. The terminals
  406. Xof the error bar are of length equal to the minor tick length (settable
  407. Xusing {\tt plsmin}).}
  408. X
  409. X\argu {{\tt n} (PLINT, input)}{Number of error bars to draw.}
  410. X
  411. X\argu {{\tt x} (PLFLT *, input)}{Pointer to array with
  412. Xx~coordinates of error bars.}
  413. X
  414. X\argu {{\tt ymin} (PLFLT *, input)}{Pointer to array with
  415. Xy~coordinates of lower endpoint of error bars.}
  416. X
  417. X\argu {{\tt ymax} (PLFLT *, input)}{Pointer to array with
  418. Xy~coordinate of upper endpoint of error bar.}
  419. X
  420. X
  421. X\bname{plexit(message)}\label{plexit}
  422. X\addcontentsline{toc}{subsection}{plexit}
  423. X
  424. X\descr{This routine is called in case an error is encountered during
  425. Xexecution of a PLPLOT routine. It prints the error message, tries to
  426. Xrelease allocated resources, calls {\tt pl\_exit} and then exits. If
  427. Xcleanup needs to be done in the driver program then the user may want
  428. Xto supply his/her own version of {\tt pl\_exit}.}
  429. X
  430. X\argu {{\tt message} (char *, input)}{Error message.}
  431. X
  432. X
  433. X\bname{pl\_exit()}\label{plxexit}
  434. X\addcontentsline{toc}{subsection}{pl\_exit}
  435. X
  436. X\descr{This routine does an immediate return. It is called by {\tt plexit}
  437. Xand is intended to be replaced by
  438. Xa user routine of the same name so that any user allocated resources
  439. Xcan be released in the case of an error. See {\tt plexit} above.}
  440. X
  441. X
  442. X\bname{plfill(n,x,y)}\label{plfill}
  443. X\addcontentsline{toc}{subsection}{plfill}
  444. X
  445. X\descr{Fills the polygon defined by the {\tt n} points {\tt (x[i],y[i])}
  446. Xusing the pattern defined by {\tt plpsty} or {\tt plpat}.
  447. XThe routine will automatically close the polygon between the last and first
  448. Xvertices. If multiple closed polygons are passed in {\tt x} and {\tt y} then
  449. X{\tt plfill} will fill in between them.}
  450. X
  451. X\argu {{\tt n} (PLINT, input)}{Number of vertices in polygon.}
  452. X
  453. X\argu {{\tt x} (PLFLT *, input)}{Pointer to array with
  454. Xx~coordinates of vertices.}
  455. X
  456. X\argu {{\tt y} (PLFLT *, input)}{Pointer to array with
  457. Xy~coordinates of vertices.}
  458. X
  459. X\bname{plfont(font)}\label{plfont}
  460. X\addcontentsline{toc}{subsection}{plfont}
  461. X
  462. X\descr{Sets the default character font for subsequent character drawing.
  463. X       Also affects symbols produced by {\tt plpoin}.}
  464. X
  465. X\argu {{\tt font} (PLINT, input)}{Specifies the font:
  466. X\begin{itemize}
  467. X\item{1}: Normal font (simplest and fastest)
  468. X\item{2}: Roman font
  469. X\item{3}: Italic font
  470. X\item{4}: Script font
  471. X\end{itemize}
  472. X}
  473. X
  474. X\bname{plfontld(set)}\label{plfontld}
  475. X\addcontentsline{toc}{subsection}{plfontld}
  476. X
  477. X\descr{Sets the character set to use for subsequent character drawing.}
  478. X
  479. X\argu {{\tt set} (PLINT, input)}{Specifies the character set to load:
  480. X\begin{itemize}
  481. X\item{0}: Standard character set
  482. X\item{1}: Extended character set
  483. X\end{itemize}
  484. X}
  485. X
  486. X\bname{plgra()}\label{plgra}
  487. X\addcontentsline{toc}{subsection}{plgra}
  488. X
  489. X\descr{Sets an interactive device to graphics mode, used in conjunction
  490. X       with {\tt pltext} to allow graphics and text to be interspersed.}
  491. X
  492. X\bname{plgspa(xmin,xmax,ymin,ymax)}\label{plgspa}
  493. X\addcontentsline{toc}{subsection}{plgspa}
  494. X
  495. X\descr{Gets the size of the current subpage in millimetres measured
  496. X        from the bottom left hand corner of the output device page
  497. X        or screen. Can be used in conjunction with {\tt plsvpa} for setting
  498. X        the size of a viewport in absolute coordinates (millimetres).}
  499. X
  500. X\argu {{\tt xmin} (PLFLT *, output)}{Pointer to variable with
  501. Xposition of left hand edge of subpage in millimetres.}
  502. X
  503. X\argu {{\tt xmax} (PLFLT *, output)}{Pointer to variable with
  504. Xposition of right hand edge of subpage in millimetres.}
  505. X
  506. X\argu {{\tt ymin} (PLFLT *, output)}{Pointer to variable with
  507. Xposition of bottom edge of subpage in millimetres.}
  508. X
  509. X\argu {{\tt ymax} (PLFLT *, output)}{Pointer to variable with
  510. Xposition of top edge of subpage in millimetres.}
  511. X
  512. X\bname{plhist(n,data,datmin,datmax,nbin,oldwin)}\label{plhist}
  513. X\addcontentsline{toc}{subsection}{plhist}
  514. X
  515. X\descr{Plots a histogram from {\tt n} data points stored in the array {\tt data}.
  516. X       This routine bins the data into {\tt nbin} bins equally spaced between
  517. X       {\tt datmin} and {\tt datmax}, and calls {\tt plbin} to draw the resulting
  518. X       histogram. Parameter {\tt oldwin} allows the histogram either to
  519. X       be plotted in an existing window or causes {\tt plhist} to call
  520. X       {\tt plenv} with suitable limits before plotting the histogram.}
  521. X
  522. X\argu {{\tt n} (PLINT, input)}{Number of data points.}
  523. X
  524. X\argu {{\tt data} (PLFLT *, input)}{Pointer to array with
  525. Xvalues of the {\tt n} data points.}
  526. X
  527. X\argu {{\tt datmin} (PLFLT, input)}{Left-hand edge of lowest-valued bin.}
  528. X
  529. X\argu {{\tt datmax} (PLFLT, input)}{Right-hand edge of highest-valued bin.}
  530. X
  531. X\argu {{\tt nbin} (PLINT, input)}{Number of (equal-sized) bins into which
  532. Xto divide the interval {\tt xmin} to {\tt xmax}.}
  533. X
  534. X\argu {{\tt oldwin} (PLINT, input)}{If one, the histogram is plotted in the
  535. Xcurrently-defined window, and if zero, {\tt plenv} is called automatically
  536. Xbefore plotting.}
  537. X
  538. X
  539. X
  540. X\bname{pljoin(x1,y1,x2,y2)}\label{pljoin}
  541. X\addcontentsline{toc}{subsection}{pljoin}
  542. X
  543. X\descr{Joins the point {\tt (x1,y1)} to {\tt (x2,y2)}.}
  544. X
  545. X\argu {{\tt x1} (PLFLT, input)}{x~coordinate of first point.}
  546. X
  547. X\argu {{\tt y1} (PLFLT, input)}{y~coordinate of first point.}
  548. X
  549. X\argu {{\tt x2} (PLFLT, input)}{x~coordinate of second point.}
  550. X
  551. X\argu {{\tt y2} (PLFLT, input)}{y~coordinate of second point.}
  552. X
  553. X
  554. X
  555. X\bname{pllab(xlabel,ylabel,tlabel)}\label{pllab}
  556. X\addcontentsline{toc}{subsection}{pllab}
  557. X
  558. X\descr{Routine for writing simple labels. Use {\tt plmtex} for more complex
  559. X       labels.}
  560. X
  561. X\argu {{\tt xlabel} (char *, input)}{Label for horizontal axis.}
  562. X
  563. X\argu {{\tt ylabel} (char *, input)}{Label for vertical axis.}
  564. X
  565. X\argu {{\tt tlabel} (char *, input)}{Title of graph.}
  566. X
  567. X
  568. X
  569. X\bname{plline(n,x,y)}\label{plline}
  570. X\addcontentsline{toc}{subsection}{plline}
  571. X
  572. X\descr{Draws {\tt n-1} line segments joining points {\tt (x[i],y[i])}.}
  573. X
  574. X\argu {{\tt n} (PLINT, input)}{Number of points to join.}
  575. X
  576. X\argu {{\tt x} (PLFLT *, input)}{Pointer to array with
  577. Xx~coordinates of points.}
  578. X
  579. X\argu {{\tt y} (PLFLT *, input)}{Pointer to array with
  580. Xy~coordinates of points.}
  581. X
  582. X
  583. X\bname{pllsty(n)}\label{pllsty}
  584. X\addcontentsline{toc}{subsection}{pllsty}
  585. X
  586. X\descr {This sets the line style according to one of eight predefined patterns
  587. X(also see {\tt plstyl}).}
  588. X
  589. X\argu {{\tt n} (PLINT, input)}{Integer value between 1 and 8.}
  590. X
  591. X\bname{plmesh(x,y,z,ly,nx,ny,opt)}\label{plmesh}
  592. X\addcontentsline{toc}{subsection}{plmesh}
  593. X
  594. X\descr{Plots a surface mesh within the environment
  595. X        set up by {\tt plw3d}. The surface is defined by the two-dimensional
  596. X        array {\tt z[][ly]}, the point {\tt z[i][j]} being the value of the
  597. X        function at {\tt (x[i],y[j])}. Note that the points in arrays {\tt x} and
  598. X        {\tt y} do not need to be equally spaced, but must be stored in
  599. X        ascending order. The parameter {\tt opt} controls the way in which the
  600. X        surface is displayed. See Section \ref{threed} on page \pageref{threed}
  601. X        for further details.}
  602. X
  603. X\argu {{\tt x} (PLFLT *, input)}{Pointer to
  604. Xset of x~coordinate values at which the
  605. Xfunction is evaluated.}
  606. X
  607. X\argu {{\tt y} (PLFLT *, input)}{Pointer to
  608. Xset of y~coordinate values at which the
  609. Xfunction is evaluated.}
  610. X
  611. X\argu {{\tt z} (PLFLT *, input)}{Pointer to two dimensional array with
  612. Xset of function values.}
  613. X
  614. X\argu {{\tt ly} (PLINT, input)}{Declared second dimension of {\tt z}~array.}
  615. X
  616. X\argu {{\tt nx} (PLINT, input)}{Number of {\tt x}~values at which function is
  617. Xevaluated.}
  618. X
  619. X\argu {{\tt ny} (PLINT, input)}{Number of {\tt y}~values at which function is
  620. Xevaluated.}
  621. X
  622. X\argu {{\tt opt} (PLINT, input)}{Determines the way in which the surface
  623. Xis represented:
  624. X\begin{itemize}
  625. X\item{1}: Lines are drawn showing {\tt z} as a function of {\tt x} for each value
  626. X          of {\tt y[j]}.
  627. X\item{2}: Lines are drawn showing {\tt z} as a function of {\tt y} for each value
  628. X          of {\tt x[i]}.
  629. X\item{3}: Network of lines is drawn connecting points at which function is
  630. X          defined.
  631. X\end{itemize}
  632. X}
  633. X
  634. X
  635. X\bname{plmtex(side,disp,pos,just,text)}\label{plmtex}
  636. X\addcontentsline{toc}{subsection}{plmtex}
  637. X
  638. X\descr{Writes text at a specified position relative to the viewport
  639. X       boundaries. Text may be written inside or outside the viewport,
  640. X       but is clipped at the subpage boundaries.
  641. X       The reference point of a string lies along a line passing
  642. X       through the string at half the height of a capital letter.
  643. X       The position of the reference point along this line is determined
  644. X       by {\tt just}, and the position of the reference point relative to
  645. X       the viewport is set by {\tt disp} and {\tt pos}.}
  646. X
  647. X\argu {{\tt side} (char *, input)}{Specifies the side of the viewport along
  648. Xwhich the text is to be written. The string must be one of:
  649. X\begin{itemize}
  650. X\item{b}: Bottom of viewport.
  651. X\item{l}: Left of viewport, text written parallel to edge.
  652. X\item{lv}: Left of viewport, text written at right angles to edge.
  653. X\item{r}: Right of viewport, text written parallel to edge.
  654. X\item{rv}: Right of viewport, text written at right angles to edge.
  655. X\item{t}: Top of viewport.
  656. X\end{itemize}
  657. X}
  658. X
  659. X\argu {{\tt disp} (PLFLT, input)}{Position of the reference point of string,
  660. Xmeasured outwards from the specified viewport edge in units of the
  661. Xcurrent character height. Use negative {\tt disp} to write within the
  662. Xviewport.}
  663. X
  664. X\argu {{\tt pos} (PLFLT, input)}{Position of the reference point of string along
  665. Xthe specified edge, expressed as a fraction of the length of the edge.}
  666. X
  667. X\argu {{\tt just} (PLFLT, input)}{Specifies the position of the string relative
  668. Xto its reference point. If {\tt just=0}, the reference point is at the left
  669. Xand if {\tt just=1}, it is at the right of the string. Other values of {\tt just}
  670. Xgive intermediate justifications.}
  671. X
  672. X\argu {{\tt text} (char *, input)}{The string to be written out.}
  673. X
  674. X
  675. X
  676. X\bname{plot3d(x,y,z,ly,nx,ny,opt,side)}\label{plot3d}
  677. X\addcontentsline{toc}{subsection}{plot3d}
  678. X
  679. X\descr{Plots a three dimensional surface plot within the environment
  680. X        set up by {\tt plw3d}. The surface is defined by the two-dimensional
  681. X        array {\tt z[][ly]}, the point {\tt z[i][j]} being the value of the
  682. X        function at {\tt (x[i],y[j])}. Note that the points in arrays {\tt x} and
  683. X        {\tt y} do not need to be equally spaced, but must be stored in
  684. X        ascending order. The parameter {\tt opt} controls the way in which the
  685. X        surface is displayed. See Section \ref{threed} on page \pageref{threed}
  686. X        for further details.}
  687. X
  688. X\argu {{\tt x} (PLFLT *, input)}{Pointer to
  689. Xset of x~coordinate values at which the
  690. Xfunction is evaluated.}
  691. X
  692. X\argu {{\tt y} (PLFLT *, input)}{Pointer to
  693. Xset of y~coordinate values at which the
  694. Xfunction is evaluated.}
  695. X
  696. X\argu {{\tt z} (PLFLT *, input)}{Pointer to two dimensional array with
  697. Xset of function values.}
  698. X
  699. X\argu {{\tt ly} (PLINT, input)}{Declared second dimension of {\tt z}~array.}
  700. X
  701. X\argu {{\tt nx} (PLINT, input)}{Number of {\tt x}~values at which function is
  702. Xevaluated.}
  703. X
  704. X\argu {{\tt ny} (PLINT, input)}{Number of {\tt y}~values at which function is
  705. Xevaluated.}
  706. X
  707. X\argu {{\tt opt} (PLINT, input)}{Determines the way in which the surface
  708. Xis represented:
  709. X\begin{itemize}
  710. X\item{1}: Lines are drawn showing {\tt z} as a function of {\tt x} for each value
  711. X          of {\tt y[j]}.
  712. X\item{2}: Lines are drawn showing {\tt z} as a function of {\tt y} for each value
  713. X          of {\tt x[i]}.
  714. X\item{3}: Network of lines is drawn connecting points at which function is
  715. X          defined.
  716. X\end{itemize}
  717. X}
  718. X
  719. X\argu {{\tt side} (PLINT, input)}{Flag to indicate whether or not ``sides''
  720. Xshould be draw on the figure. If {\tt side=0} no sides are drawn, otherwise
  721. Xthe sides are drawn.}
  722. X
  723. X\bname{plpat(nlin,inc,del)}\label{plpat}
  724. X\addcontentsline{toc}{subsection}{plpat}
  725. X
  726. X\descr{Sets the area fill pattern. The
  727. Xpattern consists of 1 or 2 sets of parallel lines with specified
  728. Xinclinations and spacings. The arguments to this routine are the
  729. Xnumber of sets to use (1 or 2) followed by two pointers to integer
  730. Xarrays (of 1 or 2 elements) specifying the inclinations in tenths
  731. Xof a degree and the spacing in micrometers. (also see {\tt plpsty})}
  732. X
  733. X\argu{{\tt nlin} (PLINT, input)}{Number of sets of lines making up the pattern,
  734. Xeither 1 or 2.}
  735. X
  736. X\argu{{\tt inc} (PLINT *, input)}{Pointer to array with {\tt nlin} elements.
  737. XSpecifies the line inclination in tenths of a degree. (Should be between
  738. X-900 and 900).}
  739. X
  740. X\argu{{\tt del} (PLINT *, input)}{Pointer to array with {\tt nlin} elements.
  741. XSpecify the spacing in micrometers between the lines making up the pattern.}
  742. X
  743. X\bname{plpoin(n,x,y,code)}\label{plpoin}
  744. X\addcontentsline{toc}{subsection}{plpoin}
  745. X
  746. X\descr{Marks out a set of {\tt n} points at positions {\tt (x(i),y(i))}, using
  747. X       the symbol defined by {\tt code}. If {\tt code} is between 32 and 127,
  748. X       the symbol is simply the printable ASCII character in the default
  749. X       font.}
  750. X
  751. X\argu {{\tt n} (PLINT, input)}{Number of points to be marked.}
  752. X
  753. X\argu {{\tt x} (PLFLT *, input)}{Pointer to array with
  754. Xset of x~coordinate values for the points.}
  755. X
  756. X\argu {{\tt y} (PLFLT *, input)}{Pointer to array with
  757. Xset of y~coordinate values for the points.}
  758. X
  759. X\argu {{\tt code} (PLINT, input)}{Code number for the symbol to be plotted.}
  760. X
  761. X
  762. X\bname{plprec(set,prec)}\label{plprec}
  763. X\addcontentsline{toc}{subsection}{plprec}
  764. X
  765. X\descr {Sets the number of places after the decimal point in numeric labels.}
  766. X
  767. X\argu {{\tt set} (PLINT, input)}{ If {\tt set} is equal to 0 then PLPLOT
  768. X       automatically determines the number of places to use after the
  769. X       decimal point in numeric labels (like those used to label axes).
  770. X       If {\tt set} is 1 then {\tt prec} sets the number of places.}
  771. X
  772. X\argu {{\tt prec} (PLINT, input)}{The number of characters to draw after the
  773. X       decimal point in numeric labels.}
  774. X
  775. X\bname{plpsty(n)}\label{plpsty}
  776. X\addcontentsline{toc}{subsection}{plpsty}
  777. X
  778. X\descr{Select one of eight predefined area fill patterns to use. (also see
  779. X{\tt plpat})}
  780. X
  781. X\argu {{\tt n} (PLINT *, input)}{The desired pattern.}
  782. X
  783. X\bname{plptex(x,y,dx,dy,just,text)}\label{plptex}
  784. X\addcontentsline{toc}{subsection}{plptex}
  785. X
  786. X\descr{Writes text at a specified position and inclination within the
  787. X       viewport. Text is clipped at the viewport boundaries.
  788. X       The reference point of a string lies along a line passing
  789. X       through the string at half the height of a capital letter.
  790. X       The position of the reference point along this line is determined
  791. X       by {\tt just}, the reference point is placed at world coordinates
  792. X       {\tt (x,y)} within the viewport. The inclination of the string is
  793. X       specified in terms of differences of world coordinates making
  794. X       it easy to write text parallel to a line in a graph.}
  795. X
  796. X\argu {{\tt x} (PLFLT, input)}{x coordinate of reference point of string.}
  797. X
  798. X\argu {{\tt y} (PLFLT, input)}{y coordinate of reference point of string.}
  799. X
  800. X\argu {{\tt dx} (PLFLT, input)}{Together with {\tt dy}, this specifies the inclination
  801. Xof the string. The baseline of the string is parallel to a line joining
  802. X{\tt (x,y)} to {\tt (x+dx,y+dy)}.}
  803. X
  804. X\argu {{\tt dy} (PLFLT, input)}{Together with {\tt dx}, this specifies the inclination
  805. Xof the string.}
  806. X
  807. X\argu {{\tt just} (PLFLT, input)}{Specifies the position of the string relative
  808. Xto its reference point. If {\tt just=0}, the reference point is at the left
  809. Xand if {\tt just=1}, it is at the right of the string. Other values of {\tt just}
  810. Xgive intermediate justifications.}
  811. X
  812. X\argu {{\tt text} (char *, input)}{The string to be written out.}
  813. X
  814. X
  815. X
  816. X\bname{plschr(def,scale)}\label{plschr}
  817. X\addcontentsline{toc}{subsection}{plschr}
  818. X
  819. X\descr {This sets up the size of all subsequent characters drawn. The
  820. X        actual height of a character is the product of the default
  821. X        character size and a scaling factor.}
  822. X
  823. X\argu {{\tt def} (PLFLT, input)}{The default height of a character in millimetres,
  824. X        should be set to zero if the default height is to remain unchanged.}
  825. X
  826. X\argu {{\tt scale} (PLFLT, input)}{Scale factor to be applied to default to
  827. X        get actual character height.}
  828. X
  829. X
  830. X\bname{plselect(ori,file)}\label{plselect}
  831. X\addcontentsline{toc}{subsection}{plselect}
  832. X
  833. X\descr {This routine can be used to set the graph orientation and to select
  834. X        a file in which the graphics commands should be stored.  These options
  835. X        are not supported by all graphics devices (in particular, most
  836. X        interactive screen drivers ignore both the orientation and the
  837. X        filename parameters).  The use of this routine is optional. If a
  838. X        device driver needs orientation or filename information, it will
  839. X        prompt the user for it if this routine is not used.  This routine,
  840. X        if used, must be called before {\tt plstar} or {\tt pladv}. }
  841. X
  842. X\argu {{\tt ori} (PLINT, input)}{The desired orientation. If {\tt ori} is equal
  843. X        to zero then use landscape (x axis is parallel to the longest edge
  844. X        of the page), otherwise use portrait orientation.}
  845. X
  846. X\argu {{\tt file} (char *, input)} {The device graphics commands are stored
  847. X       in this file.  If this file does not exist, it is created.  If it
  848. X       does exist, it is overwritten.}
  849. X
  850. X
  851. X\bname{plsetup(xdpi,ydpi,xwid,ywid)}\label{plsetup}
  852. X\addcontentsline{toc}{subsection}{plsetup}
  853. X
  854. X\descr {PLPLOT needs to know the graphics device resolution so that
  855. X        characters, tick marks, line styles, and fill patterns can be
  856. X        drawn correctly.  The page size is required so that the graph
  857. X        can be scaled to fit on the page. The device resolution and
  858. X        page size are hard coded into most of the device drivers. Some
  859. X        devices (or psuedo-devices like an Interchange File Format (IFF)
  860. X        device) allow multiple resolutions and page sizes. This routine
  861. X        can be used to set up things as desired.  This routine is
  862. X        optional. If a device driver requires this information and
  863. X        {\tt plsetup} is not used then the user will be prompted for it.
  864. X        This routine, if used, must be called before {\tt plstar} or
  865. X        {\tt pladv}.}
  866. X
  867. X\argu {{\tt xdpi} (PLFLT, input)}{The desired resolution in dots per inch
  868. X       in the x axis direction.}
  869. X
  870. X\argu {{\tt ydpi} (PLFLT, input)}{The desired resolution in dots per inch
  871. X       in the y axis direction.}
  872. X
  873. X\argu {{\tt xwid} (PLINT, input)}{The page width in pixels in the x axis
  874. X       direction.}
  875. X
  876. X\argu {{\tt ywid} (PLINT, input)}{The page width in pixels in the y axis
  877. X       direction.}
  878. X
  879. X
  880. X\bname{plsmaj(def,scale)}\label{plsmaj}
  881. X\addcontentsline{toc}{subsection}{plsmaj}
  882. X
  883. X\descr {This sets up the length of the major ticks. The
  884. X        actual length is the product of the default length and a scaling
  885. X        factor as for character height.}
  886. X
  887. X\argu {{\tt def} (PLFLT, input)}{The default length of a major tick in millimetres,
  888. X        should be set to zero if the default length is to remain unchanged.}
  889. X
  890. X\argu {{\tt scale} (PLFLT, input)}{Scale factor to be applied to default to
  891. X        get actual tick length.}
  892. X
  893. X
  894. X
  895. X\bname{plsmin(def,scale)}\label{plsmin}
  896. X\addcontentsline{toc}{subsection}{plsmin}
  897. X
  898. X\descr {This sets up the length of the minor ticks and the length of the
  899. X        terminals on error bars. The actual length is the product of the
  900. X        default length and a scaling factor as for character height.}
  901. X
  902. X\argu {{\tt def} (PLFLT, input)}{The default length of a minor tick in millimetres,
  903. X        should be set to zero if the default length is to remain unchanged.}
  904. X
  905. X\argu {{\tt scale} (PLFLT, input)}{Scale factor to be applied to default to
  906. X        get actual tick length.}
  907. X
  908. X
  909. X
  910. X\bname{plssym(def,scale)}\label{plssym}
  911. X\addcontentsline{toc}{subsection}{plssym}
  912. X
  913. X\descr {This sets up the size of all subsequent symbols drawn by
  914. X        {\tt plpoin} and {\tt plsym}. The
  915. X        actual height of a symbol is the product of the default
  916. X        symbol size and a scaling factor as for the character height. }
  917. X
  918. X\argu {{\tt def} (PLFLT, input)}{The default height of a symbol in millimetres,
  919. X        should be set to zero if the default height is to remain unchanged.}
  920. X
  921. X\argu {{\tt scale} (PLFLT, input)}{Scale factor to be applied to default to
  922. X        get actual symbol height.}
  923. X
  924. X\bname{plstar(nx,ny)}\label{plstar}
  925. X\addcontentsline{toc}{subsection}{plstar}
  926. X
  927. X\descr{Initializing the plotting package. The program prompts for the
  928. Xdevice number of the desired output device. The output device is divided
  929. Xinto {\tt nx} by {\tt ny} sub-pages, each of which may be used
  930. Xindependently. The subroutine {\tt pladv} is used to advance from one
  931. Xsubpage to the next.}
  932. X
  933. X\argu {{\tt nx} (PLINT, input)}{Number of subpages to divide output page in
  934. X      the horizontal direction.}
  935. X
  936. X\argu {{\tt ny} (PLINT, input)}{Number of subpages to divide output page in
  937. X      the vertical direction.}
  938. X
  939. X
  940. X\bname{plstyl(nels,mark,space)}\label{plstyl}
  941. X\addcontentsline{toc}{subsection}{plstyl}
  942. X
  943. X\descr {This sets up the line style for all lines subsequently drawn.
  944. X        A line consists of segments in which the pen is alternately
  945. X        down and up. The lengths of these segments are passed in the
  946. X        arrays {\tt mark} and {\tt space} respectively. The number of mark-space
  947. X        pairs is specified by {\tt nels}. In order to return the line style
  948. X        to the default continuous line, {\tt plstyl} should be called with
  949. X        {\tt nels=0}.(also see {\tt pllsty})}
  950. X
  951. X\argu {{\tt nels} (PLINT, input)}{The number of {\tt mark} and {\tt space} elements in
  952. X        a line. Thus a simple broken line can be obtained by setting
  953. X        {\tt nels=1}. A continuous line is specified by
  954. X        setting {\tt nels=0}.}
  955. X
  956. X\argu {{\tt mark} (PLINT *, input)}
  957. X       {Pointer to array with the lengths of the segments during which
  958. X        the pen is down, measured in micrometres.}
  959. X
  960. X\argu {{\tt space} (PLINT *, input)}
  961. X       {Pointer to array with the lengths of the segments during which
  962. X        the pen is up, measured in micrometres.}
  963. X
  964. X
  965. X
  966. X\bname{plsvpa(xmin,xmax,ymin,ymax)}\label{plsvpa}
  967. X\addcontentsline{toc}{subsection}{plsvpa}
  968. X
  969. X\descr {Alternate routine to {\tt plvpor} for setting up the viewport. This routine
  970. X        should be used only if the viewport is required to have a definite
  971. X        size in millimetres. The routine {\tt plgspa} is useful for finding
  972. X        out the size of the current subpage. }
  973. X
  974. X\argu {{\tt xmin} (PLFLT, input)}{The distance of the left-hand edge of the
  975. X        viewport from the left-hand edge of the subpage in millimetres.}
  976. X
  977. X\argu {{\tt xmax} (PLFLT, input)}{The distance of the right-hand edge of the
  978. X        viewport from the left-hand edge of the subpage in millimetres.}
  979. X
  980. X\argu {{\tt ymin} (PLFLT, input)}{The distance of the bottom edge of the
  981. X        viewport from the bottom edge of the subpage in millimetres.}
  982. X
  983. X\argu {{\tt ymax} (PLFLT, input)}{The distance of the top edge of the
  984. X        viewport from the top edge of the subpage in millimetres.}
  985. X
  986. X
  987. X
  988. X\bname{plsym(n,x,y,code)}\label{plsym}
  989. X\addcontentsline{toc}{subsection}{plsym}
  990. X
  991. X\descr{Marks out a set of {\tt n} points at positions {\tt (x[i],y[i])}, using
  992. X       the symbol defined by {\tt code}. The code is interpreted as an
  993. X       index in the Hershey font tables.}
  994. X
  995. X\argu {{\tt n} (PLINT, input)}{Number of points to be marked.}
  996. X
  997. X\argu {{\tt x} (PLFLT *, input)}{Pointer to array with
  998. Xset of x~coordinate values for the points.}
  999. X
  1000. X\argu {{\tt y} (PLFLT *, input)}{Pointer to array with
  1001. Xset of y~coordinate values for the points.}
  1002. X
  1003. X\argu {{\tt code} (PLINT, input)}{Code number for the symbol to be plotted.}
  1004. X
  1005. X
  1006. X
  1007. X\bname{pltext()}\label{pltext}
  1008. X\addcontentsline{toc}{subsection}{pltext}
  1009. X
  1010. X\descr{Sets an interactive device to text mode, used in conjunction
  1011. X       with {\tt plgra} to allow graphics and text to be interspersed.
  1012. X       This is not currently supported on the Amiga. All the labelling
  1013. X       is drawn in vector mode.}
  1014. X
  1015. X
  1016. X
  1017. X\bname{plvpor(xmin,xmax,ymin,ymax)}\label{plvpor}
  1018. X\addcontentsline{toc}{subsection}{plvpor}
  1019. X
  1020. X\descr {Device-independent routine for setting up the viewport.
  1021. X        This defines the viewport in terms of normalized subpage
  1022. X        coordinates which run from 0.0 to 1.0 (left to right and
  1023. X        bottom to top) along each edge of the current subpage. Use
  1024. X        the alternate routine {\tt plsvpa} in order to create a viewport
  1025. X        of a definite size.}
  1026. X
  1027. X\argu {{\tt xmin} (PLFLT, input)}{The normalized subpage coordinate of the
  1028. X        left-hand edge of the viewport.}
  1029. X
  1030. X\argu {{\tt xmax} (PLFLT, input)}{The normalized subpage coordinate of the
  1031. X        right-hand edge of the viewport.}
  1032. X
  1033. X\argu {{\tt ymin} (PLFLT, input)}{The normalized subpage coordinate of the
  1034. X        bottom edge of the viewport.}
  1035. X
  1036. X\argu {{\tt ymax} (PLFLT, input)}{The normalized subpage coordinate of the
  1037. X        top edge of the viewport.}
  1038. X
  1039. X
  1040. X
  1041. X\bname{plvsta()}\label{plvsta}
  1042. X\addcontentsline{toc}{subsection}{plvsta}
  1043. X
  1044. X\descr {Sets up a standard viewport, leaving a left-hand margin of
  1045. X        seven character heights, and four character heights around the
  1046. X        other three sides.}
  1047. X
  1048. X
  1049. X
  1050. X\bname{plw3s(basex,basey,height,xmin,xmax,ymin,ymax,zmin,zmax,alt,az)}\label{plw3d}
  1051. X\addcontentsline{toc}{subsection}{plw3d}
  1052. X
  1053. X\descr {Sets up a window for a three-dimensional surface plot within the
  1054. Xcurrently defined two-dimensional window. The enclosing box for the
  1055. Xsurface plot defined by {\tt xmin}, {\tt xmax}, {\tt ymin}, {\tt ymax},
  1056. X{\tt zmin} and {\tt zmax} in user-coordinate space is mapped into a box
  1057. Xof world coordinate size {\tt basex} by {\tt basey} by {\tt height} so
  1058. Xthat {\tt xmin} maps to {\tt -basex/2}, {\tt xmax} maps to {\tt
  1059. Xbasex/2}, {\tt ymin} maps to {\tt -basey/2}, {\tt ymax} maps to {\tt
  1060. Xbasey/2}, {\tt zmin} maps to {\tt 0} and {\tt zmax} maps to {\tt
  1061. Xheight}. The resulting world-coordinate box is then viewed by an
  1062. Xobserver at altitude {\tt alt} and azimuth {\tt az}. This routine must
  1063. Xbe called before {\tt plbox3} or {\tt plot3d}. See Section \ref{threed}
  1064. Xon page \pageref{threed} for a more complete description of
  1065. Xthree-dimensional plotting.}
  1066. X
  1067. X\argu {{\tt basex} (PLFLT, input)}{The x~coordinate size of the world-coordinate
  1068. Xbox.}
  1069. X
  1070. X\argu {{\tt basey} (PLFLT, input)}{The y~coordinate size of the world-coordinate
  1071. Xbox.}
  1072. X
  1073. X\argu {{\tt height} (PLFLT, input)}{The z~coordinate size of the world-coordinate
  1074. Xbox.}
  1075. X
  1076. X\argu {{\tt xmin} (PLFLT, input)}{The minimum user x~coordinate value.}
  1077. X
  1078. X\argu {{\tt xmax} (PLFLT, input)}{The maximum user x~coordinate value.}
  1079. X
  1080. X\argu {{\tt ymin} (PLFLT, input)}{The minimum user y~coordinate value.}
  1081. X
  1082. X\argu {{\tt ymax} (PLFLT, input)}{The maximum user y~coordinate value.}
  1083. X
  1084. X\argu {{\tt zmin} (PLFLT, input)}{The minimum user z~coordinate value.}
  1085. X
  1086. X\argu {{\tt zmax} (PLFLT, input)}{The maximum user z~coordinate value.}
  1087. X
  1088. X\argu {{\tt alt} (PLFLT, input)}{The viewing altitude in degrees above the xy~plane.}
  1089. X
  1090. X\argu {{\tt az} (PLFLT, input)}{The viewing azimuth in degrees. When {\tt az=0},
  1091. Xthe observer is looking face onto the zx~plane, and as {\tt az} is increased,
  1092. Xthe observer moves clockwise around the box when viewed from above the
  1093. Xxy~plane.}
  1094. X
  1095. X
  1096. X\bname{plwid(width)}\label{plwid}
  1097. X\addcontentsline{toc}{subsection}{plwid}
  1098. X
  1099. X\descr {Sets the pen width.}
  1100. X
  1101. X\argu {{\tt width} (PLINT, input)}{The desired pen width. The pen width
  1102. Xmust be between 1 and a device dependent maximum value.}
  1103. X
  1104. X
  1105. X
  1106. X\bname{plwind(xmin,xmax,ymin,ymax)}\label{plwind}
  1107. X\addcontentsline{toc}{subsection}{plwind}
  1108. X
  1109. X\descr {Sets up the world coordinates of the edges of the viewport.}
  1110. X
  1111. X\argu {{\tt xmin} (PLFLT, input)}{The world x~coordinate of the
  1112. X        left-hand edge of the viewport.}
  1113. X
  1114. X\argu {{\tt xmax} (PLFLT, input)}{The world x~coordinate of the
  1115. X        right-hand edge of the viewport.}
  1116. X
  1117. X\argu {{\tt ymin} (PLFLT, input)}{The world y~coordinate of the
  1118. X        bottom edge of the viewport.}
  1119. X
  1120. X\argu {{\tt ymax} (PLFLT, input)}{The world y~coordinate of the
  1121. X        top edge of the viewport.}
  1122. X
  1123. END_OF_FILE
  1124. if test 43245 -ne `wc -c <'docs/chapter4.tex'`; then
  1125.     echo shar: \"'docs/chapter4.tex'\" unpacked with wrong size!
  1126. fi
  1127. # end of 'docs/chapter4.tex'
  1128. fi
  1129. echo shar: End of archive 12 \(of 12\).
  1130. cp /dev/null ark12isdone
  1131. MISSING=""
  1132. for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
  1133.     if test ! -f ark${I}isdone ; then
  1134.     MISSING="${MISSING} ${I}"
  1135.     fi
  1136. done
  1137. if test "${MISSING}" = "" ; then
  1138.     echo You have unpacked all 12 archives.
  1139.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1140. else
  1141.     echo You still need to unpack the following archives:
  1142.     echo "        " ${MISSING}
  1143. fi
  1144. ##  End of shell archive.
  1145. exit 0
  1146. -- 
  1147. Submissions to comp.sources.amiga and comp.binaries.amiga should be sent to:
  1148.     amiga@cs.odu.edu    
  1149. or    amiga@xanth.cs.odu.edu    ( obsolescent mailers may need this address )
  1150. or    ...!uunet!xanth!amiga    ( very obsolescent mailers need this address )
  1151.  
  1152. Comments, questions, and suggestions s should be addressed to ``amiga-request''
  1153. (only use ``amiga'' for submissions) at the above addresses.
  1154.